home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.awt.Rectangle;
- import java.awt.Shape;
- import javax.swing.BorderFactory;
- import javax.swing.border.Border;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.BadLocationException;
- import javax.swing.text.Element;
- import javax.swing.text.Position;
- import javax.swing.text.StyleConstants;
- import javax.swing.text.View;
- import javax.swing.text.Position.Bias;
-
- class HRuleView extends View {
- private Border bevel;
- private float margin_left = 0.0F;
- private float margin_right = 0.0F;
- private int alignment = 0;
- private String noshade = null;
- private int size = 0;
- private int hrwidth = 0;
- private static final int SPACE_ABOVE = 3;
- private static final int SPACE_BELOW = 3;
-
- public HRuleView(Element var1) {
- super(var1);
- AttributeSet var2 = var1.getAttributes();
- if (var2 != null) {
- this.margin_left = 0.0F;
- this.margin_right = 0.0F;
- this.alignment = StyleConstants.getAlignment(var2);
- this.noshade = (String)var2.getAttribute("noshade");
- String var3 = (String)var2.getAttribute("size");
- if (var3 != null) {
- this.size = Integer.valueOf(var3);
- }
-
- String var4 = (String)var2.getAttribute("width");
- if (var4 != null) {
- this.hrwidth = Integer.valueOf(var4);
- }
- }
-
- this.bevel = BorderFactory.createLoweredBevelBorder();
- }
-
- public View breakView(int var1, int var2, float var3, float var4) {
- return null;
- }
-
- public int getBreakWeight(int var1, float var2, float var3) {
- return var1 == 0 ? 3000 : 0;
- }
-
- public float getPreferredSpan(int var1) {
- Insets var2 = this.bevel.getBorderInsets(((View)this).getContainer());
- switch (var1) {
- case 0:
- return (float)(var2.left + var2.right);
- case 1:
- if (this.size > 0) {
- return (float)(this.size + 3 + 3);
- } else {
- if (this.noshade == "#DEFAULT") {
- return 7.0F;
- }
-
- return (float)(var2.top + var2.bottom + 3 + 3);
- }
- default:
- throw new IllegalArgumentException("Invalid axis: " + var1);
- }
- }
-
- public int getResizeWeight(int var1) {
- if (var1 == 0) {
- return 1;
- } else {
- return var1 == 1 ? 0 : 0;
- }
- }
-
- public Shape modelToView(int var1, Shape var2, Position.Bias var3) throws BadLocationException {
- int var4 = ((View)this).getStartOffset();
- int var5 = ((View)this).getEndOffset();
- if (var1 >= var4 && var1 <= var5) {
- Rectangle var6 = var2.getBounds();
- if (var1 == var5) {
- var6.x += var6.width;
- }
-
- var6.width = 0;
- return var6;
- } else {
- return null;
- }
- }
-
- public void paint(Graphics var1, Shape var2) {
- Rectangle var3 = var2.getBounds();
- int var4 = 0;
- int var5 = var3.y + 3;
- int var6 = var3.width - (int)(this.margin_left + this.margin_right);
- if (this.hrwidth > 0) {
- var6 = this.hrwidth;
- }
-
- int var7 = var3.height - 6;
- if (this.size > 0) {
- var7 = this.size;
- }
-
- switch (this.alignment) {
- case 0:
- default:
- var4 = var3.x + (int)this.margin_left;
- break;
- case 1:
- var4 = var3.x + var3.width / 2 - var6 / 2;
- break;
- case 2:
- var4 = var3.x + var3.width - this.hrwidth - (int)this.margin_right;
- }
-
- if (this.noshade == "#DEFAULT") {
- var1.fillRect(var4, var5, var6, var7);
- } else {
- this.bevel.paintBorder(((View)this).getContainer(), var1, var4, var5, var6, var7);
- }
-
- }
-
- public int viewToModel(float var1, float var2, Shape var3, Position.Bias[] var4) {
- Rectangle var5 = (Rectangle)var3;
- if (var1 < (float)(var5.x + var5.width / 2)) {
- var4[0] = Bias.Forward;
- return ((View)this).getStartOffset();
- } else {
- var4[0] = Bias.Backward;
- return ((View)this).getEndOffset();
- }
- }
- }
-